package com.py.credit.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.credit.entity.Firm;
import com.py.framework.core.common.Page;

public interface UserManagerDao {
	/**
	 * 
	 * @Title: selectAllUserInfromationForPage @Description:
	 *         查询审核用户信息 @param @param page @param @return 参数 @return
	 *         List<Map<Object,Object>> 返回类型 @author zwf @date
	 *         2018年10月22日 @throws
	 */
	public List<Map<String, Object>> selectAllUserInfromationByConditionForPage(@Param(value = "type") String type,
			@Param(value = "columns") List<String> columns,
			@Param(value = "additionalColumns") String[] additionalColumns,
			@Param(value = "conditions") List<String> condition, @Param(value = "page") Page page);

	/**
	 * 
	 * @Title: updateFreeUnlockStatus @Description: 对于用户的信息进行解锁 @param @param
	 *         shzt 状态 @param @param username 用户名 @param @return 参数 @return
	 *         Integer 返回类型 @author zwf @date 2018年10月23日 @throws
	 */
	public void updateFreeUnlockStatus(@Param(value = "zhzt") String zhzt, @Param(value = "id") int id);

	/**
	 * 
	 * @Title: updateUserPassword @Description: TODO修改用户密码 @param @param
	 *         password 密码 @param @param username 用户名 @return void 返回类型 @author
	 *         zwf @date 2018年10月23日 @throws
	 */
	public void updateUserPassword(@Param(value = "password") String password, @Param(value = "id") int id);

	/**
	 * 
	 * @Title: selectOneUserInformation @Description: TODO查询单个用户信息 @param @param
	 *         username @param @return 参数 @return List<Map<String,Object>>
	 *         返回类型 @author zwf @date 2018年10月23日 @throws
	 */
	public Map<String, Object> selectOneUserInformation(@Param(value = "id") int id);

	/**
	 * 
	 * @Title: insertXypjUserCheck @Description: TODO新增用户审核记录 @param @param
	 *         userid @param @param shzt @param @param shyj @param @param shuser
	 *         参数 @return void 返回类型 @author zwf @date 2018年10月23日 @throws
	 */
	public void insertXypjUserCheck(@Param(value = "userid") String userid, @Param(value = "shzt") String shzt,
			@Param(value = "shyj") String shyj, @Param(value = "shuser") String shuser);

	/**
	 * 
	 * @Title: selectUserCheck @Description: TODO查询用户审核记录 @param @param
	 *         userid @param @return 参数 @return List<Map<String,Object>>
	 *         返回类型 @author zwf @date 2018年10月23日 @throws
	 */
	public List<Map<String, String>> selectUserCheck(@Param(value = "userid") String userid);

	/**
	 * 
	 * @Title: updateUserShzt @Description: TODO修改用户审核状态 @param @param
	 *         shzt @param @param shyi @param @param shuser @param @param id
	 *         参数 @return void 返回类型 @author zwf @date 2018年10月24日 @throws
	 */
	public void updateUserShzt(@Param(value = "shzt") String shzt, @Param(value = "id") String id);

	public List<Firm> selectFirmInfoByPage(@Param(value = "bm") String idcardNumber, @Param(value = "page") Page page);

	public String selectIdcardNumber(@Param(value = "username") String username, @Param(value = "type") String type);
}
